# Troubleshooting_Unreal

# Execution error (I) App terminated immediately after launch

If your app has terminated right after launching in device, you should check the execution log message whether your bundle ID is valid.

If the log message contains string like " ==>> FAILED( Not registered bundle name )" then it tells the bundle Id you used is not registered properly at AppSealing Developer Center (ADC) while downloading AppSealing SDK file. Check your bundle Id if it is same as the value you entered when downloading SDK at ADC.

You should check two factors. First, check bundle ID in project setting. Click “Settings” icon in UnrealEditor upper side then select “Project Settings…” item.

Select Platforms -> iOS item at left then move to Bundle Information panel.

Value of “Bundle Identifier” in “Bundle Information” panel must match the value you have entered at ADC when downloading SDK.

Next, open Plugins/AppSealingPlugin/Source/AppSealingPlugin.cpp with text editor and verify appSealingBundleID value is not modified or removed. These byte array must not be changed or deleted after you have downloaded SDK from ADC. If this value has changed by mistake, un-compress zip file again or re-download SDK.

# Execution error (II) App terminated suddenly while running

If your app has terminated suddenly while running about after 20 seconds from launching you should check the execution log message whether you have run your app with Release configuration.

If the log message contains string like "Security thread detected : 0000000B" then it tells that you have built & run your app in Shipping package mode and so AppSealing detection logic has activated. AppSealing logic in Shipping package mode checks some security intrusion such as jailbreak, debugger attachment, execution file encryption flag and if there is some problem it will close the app after 20 seconds irrespectively of user action or other circumstances.

Only in Shipping package mode the AppSealing logic will be activated and will terminate your app, so you should run your app with Development package mode until you distribute the app to AppStore or TestFlight because the built executable file doesn't have encrypted with FairPlay DRM before it is installed from AppStore to device. AppSealing logic will detect that executable file has decrypted abnormally and it will terminate the app after 20 seconds while running your app in device.

# AppSealingPlugin has not compiled while packaging Blueprint based project

When you packaging Blueprint based Unreal project you may not found compiling AppSealingPlugin.cpp message in output log window. This is due to known bugs of Unreal Engine 4.24 or 4.25 and you can fix it by following steps..

Open Unreal Editor and check AppSealing plugin has applied to project following section 1-3. Once you have checked the plugin has applied click “Add New” button upper left.

A popup menu will appear as you clicked “Add New” button like below. Select “New C++ Class…” item in popup menu.

In “Choose Parent Class” window like below leave it default option and click “Next” button.

Leave default class name and click “Create Class” button.

Newly added Class will be compiled like below.

After compile process has completed “MyClass.h” file will be opened. There is no need to additional task just close it.

Now, CLOSE Unreal Editor and RE-OPEN your project. If you skip this step packaging process will fail so you MUST CLOSE AND RE-OPEN the project.

You can see the compiling AppSealingPlugin.cpp log message in Output Log window when packaging your project.

# Cannot execute “generate_hash” : Permission denied

It may happens that script execution in step 3-1 “Generate App integrity and certificate snapshot” fails by “Permission denied” error message like below.

In this situation run add permission command like below and try again.

$ chmod +x Plugins/AppSealingPlugin/Tools/generate_hash

# Device displays message “‘AppSealingPlugin‘ could not be found”

You may encounter the following message box when running your blueprint based project in device after applying AppSealing plugin.

This is because AppSealingPlugin.cpp file has not compiled at packaging stage so you can fix this issue following the steps in 5-3 identically.

# Using AppSealing SDK in Continuous Integration Tools

AppSealing SDK can be integrated naturally into CI (continues integration) tools such as "Buddy" or "Jenkins" etc. Once the AppSealing SDK has applied to your Xcode project, you can archive and export the project with command line shell script as usual.

Last Updated: 4/4/2023, 5:18:17 AM